<?php
namespace SisGG\FinalBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraint as Assert;

/**
 * @ORM\Entity
 */
class Provincia implements \Serializable
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;
    
    /**
     * @ORM\Column(type="string",length=60,unique=true)
     */
    protected $nombre;
    
    /**
     * @ORM\OneToMany(targetEntity="Ciudad",mappedBy="provincia")
     */
    protected $ciudad;
    /**
     *
     * @ORM\ManyToOne (targetEntity="Empresa", inversedBy="provincias")
     */
    
    private $empresa;
    /**
     * 
     * @return string
     */
    public function __toString() {
        return $this->nombre;
    }
    /**
     * @return string
     */
    public function serialize()
    {
      return serialize($this->id);
    }

    /**
     * @param string $data
     */
    public function unserialize($data)
    {
      $this->id = unserialize($data);
    }
    /**
     * Constructor
     */
    public function __construct()
    {
        $this->ciudad = new \Doctrine\Common\Collections\ArrayCollection();
    }
    
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set nombre
     *
     * @param string $nombre
     * @return Provincia
     */
    public function setNombre($nombre)
    {
        $this->nombre = $nombre;
    
        return $this;
    }

    /**
     * Get nombre
     *
     * @return string 
     */
    public function getNombre()
    {
        return $this->nombre;
    }

    /**
     * Add ciudad
     *
     * @param SisGG\FinalBundle\Entity\Ciudad $ciudad
     * @return Provincia
     */
    public function addCiudad(\SisGG\FinalBundle\Entity\Ciudad $ciudad)
    {
        $this->ciudad[] = $ciudad;
    
        return $this;
    }

    /**
     * Remove ciudad
     *
     * @param SisGG\FinalBundle\Entity\Ciudad $ciudad
     */
    public function removeCiudad(\SisGG\FinalBundle\Entity\Ciudad $ciudad)
    {
        $this->ciudad->removeElement($ciudad);
    }

    /**
     * Get ciudad
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getCiudad()
    {
        return $this->ciudad;
    }

    /**
     * Set empresa
     *
     * @param SisGG\FinalBundle\Entity\Empresa $empresa
     * @return Provincia
     */
    public function setEmpresa(\SisGG\FinalBundle\Entity\Empresa $empresa = null)
    {
        $this->empresa = $empresa;
    
        return $this;
    }

    /**
     * Get empresa
     *
     * @return SisGG\FinalBundle\Entity\Empresa 
     */
    public function getEmpresa()
    {
        return $this->empresa;
    }
}